--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sbapp/kivymd/uix/screenmanager.py b4f0ff722e954d1edc2d4d433f4bd95d362bcc3a (b4f0ff72) Text, 3.05 KB
T8b949e"""
Components/ScreenManager
========================
.. versionadded:: 1.0.0
:class:`~kivy.uix.screenmanager.ScreenManager` class equivalent.
If you want to use Hero animations you need to use :class:`~kivymd.uix.screenmanager.MDScreenManager`
not :class:`~kivy.uix.screenmanager.ScreenManager` class.
"""
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Te6edf3ListPropertyTb4b4b4, Te6edf3StringProperty
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787screenmanager Tff7b72import Te6edf3ScreenManager
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787hero Tff7b72import Te6edf3MDHeroFrom
Tff7b72class T56d364MDScreenManagerTb4b4b4(Te6edf3ScreenManagerTb4b4b4)Tb4b4b4:
Te6edf3current_hero Tff7b72= Te6edf3StringPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The name of the current tag for the :class:`~kivymd.uix.hero.MDHeroFrom` and
:class:`~kivymd.uix.hero.MDHeroTo` objects that will be animated when
animating the transition between screens.
See the `Hero <https://kivymd.readthedocs.io/en/latest/components/hero/>`_
module documentation for more information about creating and using Hero animations.
:attr:`current_hero` is an :class:`~kivy.properties.StringProperty`
and defaults to `None`.
"""
T8b949e# Collection of `MDHeroFrom` objects on all screens of the current
T8b949e# screen manager.
Te6edf3_heroes_data Tff7b72= Te6edf3ListPropertyTb4b4b4(Tb4b4b4)
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcheck_transitionTb4b4b4)
Tff7b72def Td2a8ffcheck_transitionTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Sets the default type transition."""
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787transitionT7ee787.T7ee787transition Tff7b72import Te6edf3MDTransitionBase
Tff7b72if Tff7b72not Tffa657issubclassTb4b4b4(Tff7b72selfTff7b72.Td2a8fftransitionTff7b72.Td2a8ff__class__Tb4b4b4, Te6edf3MDTransitionBaseTb4b4b4)Tb4b4b4:
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787transition Tff7b72import Te6edf3MDSlideTransition
Tff7b72selfTff7b72.Td2a8fftransition Tff7b72= Te6edf3MDSlideTransitionTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffget_hero_from_widgetTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""
Get an :class:`~kivymd.uix.hero.MDHeroTo` object with the
:attr:`~current_hero` tag.
"""
Te6edf3hero_from_widget Tff7b72= Tff7b72None
Tff7b72for Te6edf3hero_widget Tff7b72in Tff7b72selfTff7b72.Td2a8ff_heroes_dataTb4b4b4:
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3hero_widgetTb4b4b4, Te6edf3MDHeroFromTb4b4b4) Tff7b72or Tffa657issubclassTb4b4b4(
Te6edf3hero_widgetTff7b72.Td2a8ff__class__Tb4b4b4, Te6edf3MDHeroFrom
Tb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3hero_widgetTff7b72.Td2a8fftag Tff7b72== Tff7b72selfTff7b72.Td2a8ffcurrent_heroTb4b4b4:
Te6edf3hero_from_widget Tff7b72= Te6edf3hero_widget
Tff7b72break
Tff7b72return Te6edf3hero_from_widget
Tff7b72def Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3widgetTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffadd_widgetTb4b4b4(Te6edf3widgetTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72lambda Te6edf3xTb4b4b4: Tff7b72selfTff7b72.Td2a8ff_create_heroes_dataTb4b4b4(Te6edf3widgetTb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ff_create_heroes_dataTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3widgetTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8fffind_hero_widgetTb4b4b4(Te6edf3child_widgetTb4b4b4)Tb4b4b4:
Te6edf3widget_hero Tff7b72= Tff7b72None
Tff7b72for Te6edf3w Tff7b72in Te6edf3child_widgetTff7b72.Td2a8ffchildrenTb4b4b4:
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3wTb4b4b4, Te6edf3MDHeroFromTb4b4b4) Tff7b72or Tffa657issubclassTb4b4b4(
Te6edf3wTff7b72.Td2a8ff__class__Tb4b4b4, Te6edf3MDHeroFrom
Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_heroes_dataTff7b72.Td2a8ffappendTb4b4b4(Te6edf3wTb4b4b4)
Te6edf3find_hero_widgetTb4b4b4(Te6edf3wTb4b4b4)
Tff7b72return Te6edf3widget_hero
Tff7b72for Te6edf3child Tff7b72in Te6edf3widgetTff7b72.Td2a8ffchildrenTb4b4b4:
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3childTb4b4b4, Te6edf3MDHeroFromTb4b4b4) Tff7b72or Tffa657issubclassTb4b4b4(
Te6edf3childTff7b72.Td2a8ff__class__Tb4b4b4, Te6edf3MDHeroFrom
Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_heroes_dataTff7b72.Td2a8ffappendTb4b4b4(Te6edf3childTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3find_hero_widgetTb4b4b4(Te6edf3childTb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────